﻿using System.ComponentModel.DataAnnotations;

namespace Devonline.Core
{
    /// <summary>
    /// 数据状态
    /// </summary>
    public enum DataState
    {
        /// <summary>
        /// 可用
        /// 表示数据状态正常
        /// </summary>
        [Display(Name = "可用")]
        Available,
        /// <summary>
        /// 不可用的, 已禁用的
        /// 表示数据状态处于被禁用的状态
        /// </summary>
        [Display(Name = "不可用")]
        Unavailable,
        /// <summary>
        /// 已冻结
        /// 表示数据处于暂时被禁用的状态
        /// </summary>
        [Display(Name = "已冻结")]
        Frozen,

        /// <summary>
        /// 已更新
        /// 适用于逻辑更新
        /// </summary>
        [Display(Name = "已更新")]
        Updated,
        /// <summary>
        /// 已删除
        /// 适用于逻辑删除
        /// </summary>
        [Display(Name = "已删除")]
        Deleted,

        /// <summary>
        /// 已废弃, 过时不用的
        /// 适用于标记基础数据项已被废除, 但存在历史数据依赖故而留存的情况
        /// </summary>
        [Display(Name = "已废弃")]
        Obsoleted,
        /// <summary>
        /// 已销毁
        /// 适用于标记数据已经被注销, 销毁, 处于不可被使用的状态
        /// </summary>
        [Display(Name = "已销毁")]
        Destroyed
    }
}
